/*
 * Copyright (C) 2025 Tsingteng MicroSystem
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "nfc_log_api.h"
#include "nfc_osi_api.h"

/**
 * @file nfc_log_api.c
 * @brief nfc log模块函数实现
*/

tNFC_LOG_CONTROL_BLOCK g_nfc_log_cb = {
    .level = LEVEL_INFO,
    .debug_mode = true,
    .print_time = true
};

/**
 * @brief 初始化 NFC 日志
 *
 * 初始化 NFC 日志的相关参数，包括日志级别、调试模式和打印时间。
 */
void nfc_log_initialize() {
}

/**
 * @brief 获取 NFC 日志级别
 *
 * 返回 NFC 日志的当前级别。
 *
 * @return NFC 日志级别
 */
tNFC_LOG_LEVEL nfc_log_get_level() {
    return g_nfc_log_cb.level;
}
/**
 * @brief 设置 NFC 日志级别
 *
 * 设置 NFC 日志的级别，用于控制日志的输出。
 *
 * @param level 日志级别
 */
void nfc_log_set_level(tNFC_LOG_LEVEL level) {
    g_nfc_log_cb.level = level > LEVEL_DEBUG? LEVEL_DEBUG: level;
}
/**
 * @brief 判断 NFC 日志是否处于调试模式
 *
 * @return 如果 NFC 日志处于调试模式，则返回 true；否则返回 false。
 */
bool nfc_log_is_debug_mode() {
    return g_nfc_log_cb.debug_mode;
}
/**
 * @brief 设置NFC日志的调试模式
 *
 * 通过设置参数`enable`，开启或关闭NFC日志的调试模式。
 *
 * @param enable 调试模式开关，true为开启，false为关闭
 */
void nfc_log_set_debug_mode(bool enable) {
    g_nfc_log_cb.debug_mode = enable;
}